bdf94768c2d2061ca6f244ac02a4595aff1e123c,src/edu/stanford/nlp/graph/DirectedMultiGraph.java,DirectedMultiGraph,DirectedMultiGraph,#DirectedMultiGraph#,30

Before Change


  }

  public DirectedMultiGraph(DirectedMultiGraph<V,E> graph) {
    outgoingEdges = Generics.newHashMap(graph.outgoingEdges);
    incomingEdges = Generics.newHashMap(graph.incomingEdges);
  }

  /**

After Change


   * @param graph The graph to copy into this object.
   */
  public DirectedMultiGraph(DirectedMultiGraph<V,E> graph) {
    outgoingEdges = Generics.newHashMap();
    incomingEdges = Generics.newHashMap();
    for (Map.Entry<V, Map<V, List<E>>> map : graph.outgoingEdges.entrySet()) {
      Map<V, List<E>> edgesCopy = Generics.newHashMap();
      for (Map.Entry<V, List<E>> entry : map.getValue().entrySet()) {
        edgesCopy.put(entry.getKey(), Generics.newArrayList(entry.getValue()));
      }
      this.outgoingEdges.put(map.getKey(), edgesCopy);
    }
    for (Map.Entry<V, Map<V, List<E>>> map : graph.incomingEdges.entrySet()) {
      Map<V, List<E>> edgesCopy = Generics.newHashMap();
      for (Map.Entry<V, List<E>> entry : map.getValue().entrySet()) {
        edgesCopy.put(entry.getKey(), Generics.newArrayList(entry.getValue()));
      }
      this.incomingEdges.put(map.getKey(), edgesCopy);
    }
  }